1. Technical Field
The present invention relates to client computers that are bootable over a network and, in particular, allowing client computers to be serviced by multiple boot servers. More specifically, the present invention relates to network booting without specialized hardware.
2. Description of Related Art
With the advent of PC 98 specifications, many personal computer motherboards, network adapters, and boot diskettes include support for pre-boot extensions to download an operating system (OS) from the network. These systems rely on extensions to the bootstrap protocol (BOOTP) and dynamic host configuration protocol (DHCP) called the preboot execution environment (PXE) and require a DHCP/PXE server and a binary image negotiation layer (BINL) server.
BOOTP is a transmission control protocol/Internet protocol (TCP/IP) used by a diskless workstation or network computer (NC) to obtain its IP address and other network information, such as server address and default gateway. Upon startup, the client station sends out a BOOTP request to the BOOTP server, which returns the required information. The BOOTP request and response use an IP broadcast function that can send messages before a specific IP address is known.
DHCP is software that automatically assigns IP addresses to client stations logging onto a TCP/IP network. DHCP eliminates having to manually assign permanent IP addresses. PXE enables a client network computer that lacks a native operating system to locate and acquire a small network bootstrap program (NBP) from a server computer, referred to as a xe2x80x9cboot server,xe2x80x9d through a network attachment. PXE also provides a means for running the NBP on the client to continue the network acquisition of additional software required to make the client capable of performing the more complex and useful tasks assigned to it by an enterprise.
PXE relies on extensions of DHCP as the means by which the client locates a boot server from which to acquire an NBP. A facilitating property of DHCP is that the client does not need the address of any other computer. The client performs a DHCP broadcast to discover any PXE proxy server that can recognize that the client is PXE-capable. The DHCP proxy server sends a DHCP offer to the client, which contains the address of the boot server from which the client may obtain the NBP. The client then obtains the NBP and all necessary software from the boot server via the trivial file transfer protocol (TFTP).
As servers (e.g. Windows 2000 and IBM Workspace On-Demand v.2) include server-side support for PXE client boot, a need arises to integrate existing PCs and network adapters into this environment, not just PCs with Intel motherboards. Although some firms have produced PXE boot diskettes, these diskettes are not extensible (supporting only a few related PCI Ethernet adapters) and are not flexible.
Therefore, it would be desirable to have a DHCP/PXE network boot mechanism that can handle any standard industry network adapter (even very old ones) by creating an Network Driver Interface Specification (NDIS) protocol driver that emulates DHCP/PXE but can bind to any NDIS protocol driver.
The present invention provides a method, system, and program for network booting of a client computer. The method comprises loading a special local bootstrap into a client computer and then using this special local bootstrap to save the client Interrupt Vector Table (IVT) to high memory and then passing control to a normal DOS bootstrap. From here a normal DOS boot is performed using files that contain pointers to the drivers of a network device which enables a specific network interface card. A special program is loaded which emulates a PXE application program interface and initiates a DHCP/PXE boot request to the network. In this manner, a client is able to perform a DHCP/PXE boot without specialized hardware, by relying on a software emulation of the necessary DHCP/PXE functions.